package com.captain.special.二叉树.简单;

import com.captain.leetcode.TreeNode;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * Des:
 * 给你一个二叉搜索树的根节点 root ，返回 树中任意两不同节点值之间的最小差值 。
 * 差值是一个正数，其数值等于两值之差的绝对值
 *
 * @author XL
 * @Date 2022/5/7 10:13
 */
public class 二叉搜索树的最小绝对差530 {
    int pre, min;
    List<Integer> res = new ArrayList<>();

    public int getMinimumDifference(TreeNode root) {
        pre = -1;
        min = Integer.MAX_VALUE;
        recur(root);
        return min;
    }

    public void recur(TreeNode node) {
        if (node == null) {
            return;
        }
        recur(node.left);
        if (pre != -1) {
            min = Math.min(min, node.val - pre);
        }
        pre = node.val;
        recur(node.right);
    }
}
